package game;

import player.IPlayer;

////import game.IValue;

/**
 * Такя {@linkplain matrix.ICell Ячейка} может иметь {@linkplain game.IValue Значение}
 * @see game.ICellCanHaveValue#setValue(IValue) 
 * @see game.ICellCanHaveValue#value()
 * @see {@literal Фримен Эр., Фримен Эл. - "Паттерны проектирования", глава 1}
 */
public interface ICellCanHaveValue {
	/**
	 * Возвращает {@linkplain game.IValue Значение} данной {@linkplain matrix.ICell Ячейки}
	 * @return объект {@linkplain game.IValue  IValue}
	 */
	abstract IValue value();
	/**
	 * Присваивает заданное {@linkplain game.IValue Значение} данной {@linkplain matrix.ICell Ячейке}
	 * @param aValue {@linkplain game.IValue Значение}
	 */
	abstract void setValue(IValue aValue);
}
